package org.jeecg.modules.online.cgform.model;

import lombok.Data;
import org.jeecg.common.system.vo.SysPermissionDataRuleModel;
import org.jeecg.modules.online.cgform.entity.OnlCgformField;

import java.util.List;

/**
 * online表配置 查询用【联合查询使用】
 */
@Data
public class OnlTable {

    /**
     * 表名
     */
    private String tableName;

    /**
     * 表ID
     */
    private String tableId;


    /**
     * 所有字段集合
     */
    private List<OnlCgformField> allFieldList;

    /**
     * 查询字段集合
     */
    private List<OnlCgformField> selectFieldList;

    /**
     * 数据权限信息
     */
    private List<SysPermissionDataRuleModel> authList;

    /**
     * 关联查询 主表字段
     */
    private String mainField;

    /**
     * 关联查询 子表字段
     */
    private String joinField;

    /**
     * 查询别名 从a开始 a,b,c,d...z 不带.
     */
    private String alias;

    private boolean isMain;

    public void setAliasByIntValue(int index){
        char c = (char)index;
        this.alias = String.valueOf(c);
    }

    public String getTableAlias(){
        return this.alias+".";
    }

    public OnlTable() {
    }

    public OnlTable(String tableName, String tableId, boolean isMain) {
        this.tableName = tableName;
        this.tableId = tableId;
        this.isMain = isMain;
    }
}
